package com.itboye.pondteam.interfaces;

/**
 * Created by admin on 2016/11/28.
 */

public interface IUserInfoInterface<PersonDataBean> {

    /**
     * 用户登录（账户密码）
     * @param username
     * @param pwd
     */
    void login(String username, String pwd);

    /**
     * 用户注册
     * @param username
     * @param pwd
     * @param country
     * @param code
     * @param from
     */
    void registerByEmail(String username, String pwd, String country, String code, String from);

    /**
     * 发送验证码
     * @param country +86
     * @param mobile
     * @param code_type
     */
    void sendVerificationCode(String country, String mobile, String code_type);

    /**
     * 验证验证码
     * @param country
     * @param mobile
     * @param code
     * @param code_type
     */
    void YanZhengverificationCode(String country, String mobile, String code, String code_type);


    /**
     * 修改密码（手机号+验证码）
     * @param country   国家[必须]
     * @param code      验证码[必须](itboye是万能验证码，测试其它请调用验证码接口获取)
     * @param mobile    手机号
     * @param password  新密码[必须]（6-32位）
     */
    void updatePass(String country, String code, String mobile, String password);

    /**
     * 修改个人信息
     * @param uid
     * @param types      (nickname:昵称;  sex:性别(0,1); sign:个性签名; email:邮箱； weixin：微信； company：公司； job_title：岗位；loc_country：所在国家编码； loc_area：地区)
     * @param content
     */
    void upadtaInformation(String uid, String types, String content);

    /**
     * 修改密码（通过旧密码）
     * @param uid
     * @param password
     * @param new_password
     */
    void modifyPass(String uid, String password, String new_password);


    /**
     * 添加收货地址
     * @param uid
     * @param contactname   联系人
     * @param mobile        手机号
     * @param postal_code   邮编
     * @param province      省份
     * @param city           城市
     * @param area            街道
     * @param detailinfo    详细地址
     * @param defaults      是否默认
     * @param country
     * @param country_id
     */
    void addressAdd(String s_id, String uid, String contactname, String mobile, String postal_code, String province, String city, String area, String detailinfo, String defaults, String country, String country_id);

    /**
     * 收货地址更新
     * @param id
     * @param uid
     * @param contactname
     * @param mobile
     * @param postal_code
     * @param province
     * @param city
     * @param area
     * @param detailinfo
     * @param defaults
     * @param country
     * @param country_id
     */
    void updateAddress(String s_id, String id, String uid, String contactname, String mobile, String postal_code, String province, String city, String area, String detailinfo, String defaults, String country, String country_id);
    /**
     * 司机认证申请
     * @param uid
     * @param id_number     身份证号
     * @param realname      真实姓名
     * @param id_certs      身份证图片id,多个英文逗号分割
     */
    void sijiRenZheng(String uid, String id_number, String realname, String id_certs);

    /**
     * 技工认证
     * @param uid
     * @param skills
     */
    void jigongRenZheng(String uid, String skills);

    /**
     * 地理位置更新
     * @param id
     * @param lat   维度
     * @param lng   经度
     */
    void weiZhiUpdate(String id, String lat, String lng, String s_id);

    /**
     * 获取全局配置
     */
    void getConfigApp();


    void updatePwdByPwd(String uid, String oldPass, String newPass);


    /**
     * 获取设备信息
     * @param did
     */
    void getDeviceDetailInfo(String did,String uid,String psw);

    void bindDevice(String did,String uid);

    /**
     * 获取用户的设备列表
     * @param uid
     */
    void getMyDeviceList(String uid);

    /**
     * 设备设置
     * @param did 设备did
     * @param clEn 定时清洗使能
     * @param clWeek 周清洗设置
     * @param clTm 清洗时间点设置
     * @param clDur 清洗时长设置
     * @param clState 清洗状态
     * @param clCfg 清洗设置
     * @param uvOn 杀菌灯开启时间
     * @param uvOff 杀菌灯关闭时间
     * @param uvWH 杀菌灯累计工作时间
     * @param uvCfg 杀菌灯设置
     */
    void deviceSet(String did,String clEn,int clWeek,String clTm,String clDur,String clState,String clCfg,String uvOn,String uvOff,String uvWH,String uvCfg,int out_state_a,int out_state_b);

    /**
     * 用户添加设备
     * @param uid
     * @param did
     * @param device_nickname
     */
    void addDevice(String uid,String did,String device_nickname);

    /**
     * 用户删除设备
     * @param id
     */
    void deleteDevice(String id);

    /**
     * 用户更改设备名字
     * @param id
     * @param nickName
     */
    void updateDeviceName(String id,String nickName,String chazuoA,String chazuoB);

    /**
     * 获取当前设备的最新版本
     * @param did
     */
    void getMostNewPondDevice(String did);

    /**
     * 开始更新过滤桶
     * @param did
     */
    void beginUpdatePondTeam(String did);

    /**
     * 获取设备的状态 如：设备信息不存在等
     * @param did
     */
    void getDeviceStatus(String did);

    /**
     * 发送Email
     * @param customText
     * @param s
     */
    void sendEmailCode(String customText, String s);

    /**
     * 反馈建议
     * @param deviceTypeName
     * @param s
     * @param sp
     * @param contact
     * @param sp1
     * @param content
     */
    void feedback(String deviceTypeName, String s, String sp, String contact, String sp1, String content);

    /**
     * 验证过设备
     * @param did
     * @param ctrl_pwd
     */
    void authDevicePwd(String did, String ctrl_pwd,String deviceType);
}
